package com.rengl.javamvc.view;

import com.rengl.javamvc.controller.UserController;
import com.rengl.javamvc.model.User;

import java.nio.file.attribute.UserDefinedFileAttributeView;
import java.util.List;
import java.util.Scanner;

/**
 * V-显示层
 * 纯java下用最简单的交互可以用控制台来实现模拟web请求
 * 当然如果就是单机应用也可以用java自带的显示组件库awt,swing
 *
 * 显示层作用:
 * 1.内容显示
 * 2.数据收集
 * 3.对象封装
 */
public class View {

    private UserController userController = new UserController();

    /**
     * 前端mvc从下面方法中已经进行标记
     * 代码就是一般的代码,但是要从中看出mvc模式来,应为后面代码就会变成别的展现,但是mvc思想是不变的
     * 注册页
     */
    public void registerPage(Scanner scanner){


        //V
        System.out.println("请输入账号:");
        String username = scanner.next();
        System.out.println("请输入密码:");
        String password = scanner.next();


        //M
        User user = new User(username,password);
        System.out.println(user);

        //C
        userController.register(user);

        //查询所有用户
        showUser();
    }

    /**
     * 列表页
     */
    public void showUser(){

        //查询所有用户
        List<User> list = userController.list();
        System.out.println("===================================用户列表=========================================");
        System.out.println("--------账号----------密码-----------");
        for (User user : list) {
            System.out.println("        "+user.getUsername()+"        "+user.getPassword()+"       ");
        }
    }

}
